package com.authine.cloudpivot.ext.Enum;

import java.util.Arrays;
import java.util.List;

/**
 * 结算申请单状态
 *
 */
public enum SettleStatus {

    /**
     * 结算申请单状态
     */
    New("新建"),
    //原名‘已退回’ 已关闭的申请单可以重新发起,
    Returned("已关闭"),
    //供应商或平台 用于对应的付款方财务付款后 收款方收款确认(目前没有这个状态了，平台付过款，就是已付款)
    Confirming("确认中"),
    //客户或平台 用于发起结算后，对应的付款方业务部门进行提交至财务,
    ApprovingBusiness("待业务审核"),
    //客户或平台 用于业务审核后财务经理进行复核
    ApprovingFinance("待财务审核"),
    //财务可以确认付款状态
    Approving("待财务审批付款"),
    PartDone("部分付款"),
    Done("已付款");

    public static List<SettleStatus> closeStatus() {
        return Arrays.asList(SettleStatus.Approving, SettleStatus.Confirming,
                SettleStatus.ApprovingBusiness, SettleStatus.ApprovingFinance);
    }

    //有效的状态
    public static List<String> normalStatus() {
        return Arrays.asList(SettleStatus.Approving.name(), SettleStatus.Confirming.name(),
                SettleStatus.ApprovingBusiness.name(), SettleStatus.ApprovingFinance.name(), SettleStatus.PartDone.name(), SettleStatus.Done.name());
    }

    public String des;

    SettleStatus(String des) {
        this.des = des;
    }
}
